5.15. Руководство по работе с ключевыми словами.

Ключевые слова - переменные, которые могут использоваться в различных частях приложения для генерации значений, актуальных на момент выполнения операции.

Ключевые слова используются в следующих разделах приложения:

  • Каталог услуг
  • Домашняя страница
  • Формы
  • Фильтры консолей
  • Сайдбары (в операциях, связанных с элементами сайдбара).

Примечание

Например, при добавлении пользователем ключевого слова $CURRENT_USER$ в настройки сайдбара в приложении значение ключевого слова будет отображаться как текущий пользователь (Иван Иванов при входе в Систему под логином/паролем Ивана Иванова).

В приложении поддерживаются следующие типы ключевых слов:

Системные ключевые слова
Ключевые слова, заданные на уровне приложения
Настраиваемые ключевые слова
Ключевые слова, задаваемые администратором в настройках
Программируемые ключевые слова
Ключевые слова, программируемые разработчиком в скриптах.

5.15.1. Системные ключевые слова.

Ключевые слова для даты и времени.

В Системе реализована отдельная категория ключевых слов для даты и времени. При разрешении всех значений даты и времени (например, в одном запросе, в одном выражении) обеспечено формирование значения на основе одной и той же временной отметки. Например, $DATE$ и $DAY_AGO$ будут иметь одно и тоже значение часов, минут, секунд и миллисекунд. Следует обратить внимание, что отсчёт от единой временной отметки не будет соблюдаться при последовательном вызове разных значений по отдельности (используя метод getValue плагина $kw).

Ключевые слова для даты и времени.

  • $DATE$ - Дата.
  • $DATE_MS$ - Дата в миллисекундах.
  • $HOUR_START$ - Начало текущего часа в формате ISO.
  • $HOUR_START_MS$ - Начало текущего часа в миллисекундах.
  • $DAY_START$ - Начало дня.
  • $DAY_START_MS$ - Начало дня в миллисекундах.
  • $DAY_AGO$ - День назад.
  • $DAY_AGO_MS$ - День назад в миллисекундах.
  • $WEEK_START$ -Начало недели.
  • $WEEK_START_MS$ - Начало недели в миллисекундах.
  • $MONTH_START$ - Начало месяца.
  • $MONTH_START_MS$ - Начало месяца в миллисекундах.

Ключевые слова контекста.

Ключевые слова контекста получают значения из свойств контекста приложения и имеют префикс CTX (за исключением ключевых слов $SYSTEM_USER$ и $SYSTEM_USER_SN$, которые имеют такие имена традиционно). Сейчас доступны следующие ключевые слова свойств контекста:

  • $CTX_PAGE_TYPE$ - тип страницы (например, catalog, form). Допустимые типы описаны ниже.

    «login» - на странице входа в Систему.

    «home» - на домашней странице (/home).

    «catalog» - на странице каталога услуг (/catalog).

    «console» - на странице консоли (/console/).

    «form» - на странице формы (/form/).

    «dashboard» - на странице инструментальной панели (/dashboard/).

    «form-editor» - на странице редактирования формы (в режиме администратора, /admin/forms/).

    «undefined» - на странице, которая отсутствует в вышеприведённом списке.

  • $CTX_ENTITY_ID$ - ID текущей записи (если форма - записи схемы, если консоль - ID консоли и т.д.).

  • $CTX_IS_ADMIN$ - Признак, является ли пользователь администратором (true/false).

  • $CTX_LOCALE$ - Код текущей локали (например, en, ru).

  • $CTX_IS_MOBILE$ - Признак, запущено ли приложение на мобильном устройстве (true/false).

  • $CTX_IS_TABLET$ - Признак, запущено ли приложение на планшете (true/false).

  • $CTX_IS_DESKTOP$ - Признак, запущено ли приложение на устройстве с большим монитором (компьютер, ноутбук) (true/false).

  • $SYSTEM_USER$ - Логин пользователя, вошедшего в Систему.

  • $SYSTEM_USER_SN$ - Информация из свойства SN записи пользователя (например, «Иван Иванов»).

Ключевые слова формы.

Ключевые слова формы доступны только если приложение находится на странице формы, в ином случае на любое значение ключевого слова формы будет возвращена пустая строка.

Ключевое слово формы состоит из префикса FORM и идентификатора поля формы, значение из которого будет являться значением этого ключевого слова. Например, в форме инцидентов /form/schm001_form_0001/INC000000004051 следующие ключевые слова будут иметь соответствующие значения:

{ $FORM_in_003_004$: «TEST INCIDENT Bob Baxter Устранение неполадок подключения к сети в браузере Internet Explorer «, $FORM_0e82c9ff-74c2-3154-8be0-5e36c88dcf27$: «1114 Eighth Avenue, 31st Floor.» }

5.15.2. Настройка Ключевых слов.

В правом верхнем углу нажать поле с именем пользователя, в всплывающем меню выбрать пункт Настройки и в левом нижнем углу нажать пункт меню Ключевые слова (Рис. 5.15.1). Откроется форма настройки «Ключевые слова».

../_images/gOtkr.png

Рис. 5.15.1 Открытие формы настройки Ключевых слов

Форма настройки ключевых слов содержит следующие элементы (Рис. 5.15.2):

  • Панель Текущие ключевые слова. Содержит список уже настроенных ключевых слов.
  • Кнопка Добавить ключевое слово на панели Текущие ключевые слова. Позволяет открыть форму ввода нового ключевого слова.
  • Флаг Глобальное. Включенный флаг «Глобальное» означает, что свойство является системным и изменить его может только Администратор, применительно ко всей Системе. Выключенный флаг «Глобальное» означает, что свойство является не системным, а пользовательским, то есть доступным для изменения Пользователем.
  • Кнопка Удалить свойство. При нажатии кнопки происходит удаление уже настроенных ключевых слов.
  • Кнопка ПОДТВЕРДИТЬ в правом нижнем углу формы позволяет подтвердить и сохранить изменения.
  • Кнопка ОТМЕНА в правом нижнем углу формы позволяет отменить изменения.
../_images/gForm.png

Рис. 5.15.2 Форма настройки Ключевых слов

Редактирование существующего ключевого слова

При нажатии на кнопку ключевого слова на панели Текущие ключевые слова открывается форма редактирования ключевого слова (Рис. 5.15.3).

../_images/gRedac.png

Рис. 5.15.3 Форма редактирования ключевого слова

Форма редактирования ключевого слова содержит следующие поля:

  • Поле Наименование - содержит наименование ключевого слова.
  • Поле Описание - краткое описание ключевого слова.
  • Поле Код - может содержать как имя переменной, например, имя переменной SUB ключевого слова $CTX_USER_SUB$, так и код, например, {{ new Date().toLocaleString() }} - отображает локальную дату.

Сохранение изменений в форме редактирования ключевого слова происходит при нажатии клавиши ОТПРАВИТЬ в правом нижнем углу формы (Рис. 5.15.3).

Выход без сохранения осуществляется при нажатии кнопки ОТМЕНА в правом нижнем углу формы (Рис. 5.15.3).

Создание ключевого слова

При нажатии кнопки создания ключевого слова gKnop_ic открывается форма создания нового ключевого слова (Рис. 5.15.4).

../_images/gNov.png

Рис. 5.15.4 Форма создания ключевого слова

Заполнение формы создания ключевого слова проводится аналогично заполнению формы редактирования ключевого слова.

5.15.3. Программируемые ключевые слова

Описание процесса создания программируемых ключевых слов описано в Раздел 7.1.3 Руководства разработчика.

5.15.4. Использование ключевых слов в Системе.

5.15.4.1. Использование ключевых слов в сайдбарах.

Использование ключевых слов в сайдбарах зависит от типа элемента сайдбара. Ключевые слова могут использоваться в следующих типах элементов:

  • Внутренняя ссылка с параметрами
  • URL c параметрами

Примечание

Ключевые слова могут использоваться при формировании адресной строки и в значениях простых параметров.

5.15.4.2. Использование ключевых слов в Каталоге услуг.

В Каталоге услуг ключевые слова используются при построении строки URL в карточке услуги (Рис. 5.15.5).

../_images/hSTU.png

Рис. 5.15.5 Строка URL

В качестве примера можно привести строку URL

http://cbr.ru/currency_base/daily/?UniDbQuery.Posted=True&UniDbQuery.To={{ new Date($DAY_AGO_MS$).toLocaleDateString() }}

Услуга открывает страницу Банка России с курсом валют на дату «Вчера» (Рис. 5.15.6).

../_images/hKurs.png

Рис. 5.15.6 Курс валют на дату Вчера

Внутри описано JavaScript-выражение, которое будет вычислено и вместо него подставится результат вычисления.

Внутри выражения используется ключевое слово $DAY_AGO_MS$, определяющее дату, предшествующую дате «Сегодня». При обработке выражения сначала будут заменены ключевые слова в выражении, а потом произойдёт вычисление.

Так же возможно «прямое» использование ключевого слова, вне JavaScript-выражения (Рис. 5.15.7).

../_images/hKurs3.png

Рис. 5.15.7 Курс валют на дату, предшествующую дате «Сегодня» на три дня

Так, в строке URL

http://cbr.ru/currency_base/daily/?UniDbQuery.Posted=True&UniDbQuery.To=$PROG$

используется ключевое слово $PROG$, определяющее дату, предшествующую дате «Сегодня» на три дня.

Преобразуется ключевое слово в элемент строки URL в карточке каталога при переходе по URL.

5.15.4.3. Использование ключевых слов в Форме.

В форме можно вставить ключевое слово в любое поле текстового ввода и оно должно будет преобразовано при сохранении формы.

5.15.4.3.1. Вкладка Компоненты.

Компонент формы для текстового ввода - input. Для текстового ввода данных в компонент input используются следующие поля:

Поле Параметры.

В поле «Параметры» указываются конфигурации для внешних скриптов (зависимостей). Перечень конфигураций указывается в формате JSON.

Пример использования Ключевых слов в поле «Параметры» представлен ниже (Рис. 5.15.8):

../_images/wParam.png

Рис. 5.15.8 Пример использования Ключевых слов в поле Параметры

Здесь строка «url»: «http://$File_Way$/MapLogger.js» эквивалентна строке «url»: «http://forms/currency_base/daily/MapLogger.js». Посредством Ключевого слова $File_Way$ в данном случае задается путь к файлу внешнего скрипта, т.е., Ключевое слово $File_Way$ заменяет выражение forms/currency_base/daily.

Поле Вычисляемое.

В данном поле задается вычисляемое значение. Вычисляемое значение вычисляется на основе значений других полей. Условие, по которому вычисляется значение, указывается в формате JSON (Рис. 5.15.9).

../_images/wVich.png

Рис. 5.15.9 Пример использования Ключевых слов в поле Вычисляемое

В данном случае полю default по-умолчанию присваивается значение кода текущей локали (Ключевое слово $CTX_LOCALE$), которое используется в случае ошибок вычисления.

Поле Действие.

В этом поле можно указать действие в формате JSON, которое будет выполнятся при определенных условиях.

Пример использования Ключевых слов в поле «Действие» представлен ниже (Рис. 5.15.10):

../_images/WDeis.png

Рис. 5.15.10 Пример использования Ключевых слов в поле Действие

Здесь Ключевое слово $field_value$ указывает на строку form_field»:»in_009_015»,»schema»:»people»,»field»:»full_name, которая выводит данные на элемент формы.

Поле Видимый на.

В поле указывается условие видимости для элемента.

Пример использования Ключевых слов в поле «Видимый на» представлен ниже (Рис. 5.15.11):

../_images/wVid.png

Рис. 5.15.11 Пример использования Ключевых слов в поле Видимый на

Здесь указано следующее: данный компонент будет отображаться на форме, только если у другого компонента формы, имеющего идентификатор «ID текущей записи» (Ключевое слово $CTX_ENTITY_ID$), значение будет равным «123». То есть данный компонент будет виден или скрыт в зависимости от значения в другом компоненте формы.

5.15.4.3.2. Вкладка Параметры.

Вкладка «Параметры» используется для указания шаблона, по которому создается запись. Пример заполнения вкладки «Параметры» (Рис. 5.15.12):

../_images/wParametrs.png

Рис. 5.15.12 Пример использования Ключевых слов в вкладке Параметры

В данном случае Ключевое слово $CTX_ENTITY_ID$ - ID текущей записи - используется как идентификатор шаблона.

5.15.4.3.3. Использование ключевых слов при заполнении значений формы.

Ключевые слова возможно использовать при заполнении значений полей формы. Ключевое слово на форме можно применить в любом поле текстового ввода.

Пример использования Ключевых слов при заполнении значений полей формы представлен ниже (Рис. 5.15.13):

../_images/wForm.png

Рис. 5.15.13 Пример использования Ключевых слов при заполнении значений полей формы

Здесь в поле «Содержание» использовано ключевое слово $SYSTEM_USER_SN$ во фразе «Описание инцидента. Автор: $SYSTEM_USER_SN$». После сохранения формы и обновления данных в поле «Содержание» будет фраза «Описание инцидента. Автор: Иван Иванов». То есть, ключевое слово при сохранении будет заменено его значением.